package com.tujh.android.designpatterns.Proxy;

/**
 * Created by TUJH on 2016/10/26.
 * <p/>
 * 代理对象角色
 * <p/>
 * 在使用的时候，需要对原有的方法进行改进的设计模式
 */
public class ProxyObject implements AbstractObject {

    private AbstractObject mAbstractObject;

    public ProxyObject() {
        this.mAbstractObject = new RealObject();
    }

    @Override
    public void sampleOperation() {
        //调用目标对象之前可以做相关操作
        System.out.println("this is before ProxyObject!");
        //调用目标对象的相关操作
        mAbstractObject.sampleOperation();
        //调用目标对象之后可以做相关操作
        System.out.println("this is after ProxyObject!");
    }
}
